Add support for case insensitivity file names #11205
Add support for case insensitivity file names #11205gh-worker-dd-mergequeue-cf854d[bot] merged 3 commits intomasterfrom
Conversation
Add support for case-insensitive path matching for line probes. When a probe path contains different casing (e.g., Controllers/DebuggerController.java vs actual controllers/DebuggerController.java), we should match them case-insensitively. this allows to support case-insensitive filesystem (Windows, MacOs)
|
Hi! 👋 Thanks for your pull request! 🎉 To help us review it, please make sure to:
If you need help, please check our contributing guidelines. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 00e1844b54
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| continue; | ||
| } | ||
| fileName = normalizeWindowsToUnixPath(fileName); | ||
| fileName = fileName.toLowerCase(); |
There was a problem hiding this comment.
Use Locale.ROOT for filename case folding
The new case-insensitive path logic lowercases strings with the JVM default locale (toLowerCase() here and also in matchProbeDefinitionsBySourceFile), which makes matching locale-dependent. In locales such as Turkish, case-folding of I/i differs, so a probe path that only differs by case can still fail to match (for example index.java vs Index.java), undermining the behavior this change is adding. Use locale-invariant normalization (toLowerCase(Locale.ROOT)) for all filename/path folding in this matcher.
Useful? React with 👍 / 👎.
Debugger benchmarksParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 9 metrics, 6 unstable metrics. See unchanged results
Request duration reports for reportsgantt
title reports - request duration [CI 0.99] : candidate=None, baseline=None
dateFormat X
axisFormat %s
section baseline
noprobe (340.988 µs) : 291, 391
. : milestone, 341,
basic (292.833 µs) : 286, 300
. : milestone, 293,
loop (8.982 ms) : 8976, 8988
. : milestone, 8982,
section candidate
noprobe (356.779 µs) : 265, 448
. : milestone, 357,
basic (291.736 µs) : 282, 301
. : milestone, 292,
loop (8.991 ms) : 8984, 8999
. : milestone, 8991,
|
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 1 performance regressions! Performance is the same for 59 metrics, 11 unstable metrics.
Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.62.0-SNAPSHOT~883b8d14d0, baseline=1.62.0-SNAPSHOT~4a446d1347
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.058 s) : 0, 1058445
Total [baseline] (11.067 s) : 0, 11067303
Agent [candidate] (1.067 s) : 0, 1066726
Total [candidate] (11.054 s) : 0, 11054377
section appsec
Agent [baseline] (1.261 s) : 0, 1261342
Total [baseline] (11.074 s) : 0, 11074426
Agent [candidate] (1.266 s) : 0, 1265673
Total [candidate] (11.062 s) : 0, 11061908
section iast
Agent [baseline] (1.242 s) : 0, 1241940
Total [baseline] (11.363 s) : 0, 11363110
Agent [candidate] (1.242 s) : 0, 1241500
Total [candidate] (11.294 s) : 0, 11294416
section profiling
Agent [baseline] (1.187 s) : 0, 1187349
Total [baseline] (11.02 s) : 0, 11020176
Agent [candidate] (1.191 s) : 0, 1191445
Total [candidate] (11.245 s) : 0, 11244570
gantt
title petclinic - break down per module: candidate=1.62.0-SNAPSHOT~883b8d14d0, baseline=1.62.0-SNAPSHOT~4a446d1347
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.232 ms) : 0, 1232
crashtracking [candidate] (1.237 ms) : 0, 1237
BytebuddyAgent [baseline] (634.024 ms) : 0, 634024
BytebuddyAgent [candidate] (640.447 ms) : 0, 640447
AgentMeter [baseline] (29.526 ms) : 0, 29526
AgentMeter [candidate] (29.77 ms) : 0, 29770
GlobalTracer [baseline] (250.29 ms) : 0, 250290
GlobalTracer [candidate] (250.66 ms) : 0, 250660
AppSec [baseline] (32.59 ms) : 0, 32590
AppSec [candidate] (32.59 ms) : 0, 32590
Debugger [baseline] (60.751 ms) : 0, 60751
Debugger [candidate] (60.833 ms) : 0, 60833
Remote Config [baseline] (605.897 µs) : 0, 606
Remote Config [candidate] (600.234 µs) : 0, 600
Telemetry [baseline] (8.08 ms) : 0, 8080
Telemetry [candidate] (8.989 ms) : 0, 8989
Flare Poller [baseline] (5.168 ms) : 0, 5168
Flare Poller [candidate] (5.212 ms) : 0, 5212
section appsec
crashtracking [baseline] (1.216 ms) : 0, 1216
crashtracking [candidate] (1.228 ms) : 0, 1228
BytebuddyAgent [baseline] (674.562 ms) : 0, 674562
BytebuddyAgent [candidate] (677.466 ms) : 0, 677466
AgentMeter [baseline] (12.285 ms) : 0, 12285
AgentMeter [candidate] (12.262 ms) : 0, 12262
GlobalTracer [baseline] (249.024 ms) : 0, 249024
GlobalTracer [candidate] (249.501 ms) : 0, 249501
IAST [baseline] (24.199 ms) : 0, 24199
IAST [candidate] (24.246 ms) : 0, 24246
AppSec [baseline] (188.762 ms) : 0, 188762
AppSec [candidate] (186.677 ms) : 0, 186677
Debugger [baseline] (63.209 ms) : 0, 63209
Debugger [candidate] (65.931 ms) : 0, 65931
Remote Config [baseline] (581.913 µs) : 0, 582
Remote Config [candidate] (566.477 µs) : 0, 566
Telemetry [baseline] (7.75 ms) : 0, 7750
Telemetry [candidate] (7.876 ms) : 0, 7876
Flare Poller [baseline] (3.335 ms) : 0, 3335
Flare Poller [candidate] (3.472 ms) : 0, 3472
section iast
crashtracking [baseline] (1.234 ms) : 0, 1234
crashtracking [candidate] (1.223 ms) : 0, 1223
BytebuddyAgent [baseline] (816.92 ms) : 0, 816920
BytebuddyAgent [candidate] (815.371 ms) : 0, 815371
AgentMeter [baseline] (11.503 ms) : 0, 11503
AgentMeter [candidate] (11.505 ms) : 0, 11505
GlobalTracer [baseline] (240.958 ms) : 0, 240958
GlobalTracer [candidate] (241.281 ms) : 0, 241281
IAST [baseline] (29.776 ms) : 0, 29776
IAST [candidate] (29.454 ms) : 0, 29454
AppSec [baseline] (27.592 ms) : 0, 27592
AppSec [candidate] (27.041 ms) : 0, 27041
Debugger [baseline] (65.846 ms) : 0, 65846
Debugger [candidate] (67.486 ms) : 0, 67486
Remote Config [baseline] (535.323 µs) : 0, 535
Remote Config [candidate] (554.881 µs) : 0, 555
Telemetry [baseline] (7.919 ms) : 0, 7919
Telemetry [candidate] (7.929 ms) : 0, 7929
Flare Poller [baseline] (3.475 ms) : 0, 3475
Flare Poller [candidate] (3.501 ms) : 0, 3501
section profiling
crashtracking [baseline] (1.18 ms) : 0, 1180
crashtracking [candidate] (1.177 ms) : 0, 1177
BytebuddyAgent [baseline] (692.127 ms) : 0, 692127
BytebuddyAgent [candidate] (693.204 ms) : 0, 693204
AgentMeter [baseline] (8.948 ms) : 0, 8948
AgentMeter [candidate] (9.051 ms) : 0, 9051
GlobalTracer [baseline] (208.37 ms) : 0, 208370
GlobalTracer [candidate] (210.047 ms) : 0, 210047
AppSec [baseline] (32.856 ms) : 0, 32856
AppSec [candidate] (33.17 ms) : 0, 33170
Debugger [baseline] (66.31 ms) : 0, 66310
Debugger [candidate] (66.108 ms) : 0, 66108
Remote Config [baseline] (576.461 µs) : 0, 576
Remote Config [candidate] (572.884 µs) : 0, 573
Telemetry [baseline] (7.839 ms) : 0, 7839
Telemetry [candidate] (7.944 ms) : 0, 7944
Flare Poller [baseline] (3.496 ms) : 0, 3496
Flare Poller [candidate] (3.523 ms) : 0, 3523
ProfilingAgent [baseline] (93.869 ms) : 0, 93869
ProfilingAgent [candidate] (95.001 ms) : 0, 95001
Profiling [baseline] (94.431 ms) : 0, 94431
Profiling [candidate] (95.582 ms) : 0, 95582
Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.62.0-SNAPSHOT~883b8d14d0, baseline=1.62.0-SNAPSHOT~4a446d1347
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.057 s) : 0, 1056843
Total [baseline] (8.864 s) : 0, 8864406
Agent [candidate] (1.055 s) : 0, 1055499
Total [candidate] (8.833 s) : 0, 8833465
section iast
Agent [baseline] (1.261 s) : 0, 1261078
Total [baseline] (9.588 s) : 0, 9587986
Agent [candidate] (1.25 s) : 0, 1249975
Total [candidate] (9.574 s) : 0, 9574405
gantt
title insecure-bank - break down per module: candidate=1.62.0-SNAPSHOT~883b8d14d0, baseline=1.62.0-SNAPSHOT~4a446d1347
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.23 ms) : 0, 1230
crashtracking [candidate] (1.232 ms) : 0, 1232
BytebuddyAgent [baseline] (635.478 ms) : 0, 635478
BytebuddyAgent [candidate] (634.254 ms) : 0, 634254
AgentMeter [baseline] (29.458 ms) : 0, 29458
AgentMeter [candidate] (29.326 ms) : 0, 29326
GlobalTracer [baseline] (248.564 ms) : 0, 248564
GlobalTracer [candidate] (248.784 ms) : 0, 248784
AppSec [baseline] (32.387 ms) : 0, 32387
AppSec [candidate] (32.367 ms) : 0, 32367
Debugger [baseline] (59.666 ms) : 0, 59666
Debugger [candidate] (59.731 ms) : 0, 59731
Remote Config [baseline] (603.134 µs) : 0, 603
Remote Config [candidate] (603.297 µs) : 0, 603
Telemetry [baseline] (9.675 ms) : 0, 9675
Telemetry [candidate] (8.012 ms) : 0, 8012
Flare Poller [baseline] (3.644 ms) : 0, 3644
Flare Poller [candidate] (4.98 ms) : 0, 4980
section iast
crashtracking [baseline] (1.251 ms) : 0, 1251
crashtracking [candidate] (1.231 ms) : 0, 1231
BytebuddyAgent [baseline] (832.248 ms) : 0, 832248
BytebuddyAgent [candidate] (823.582 ms) : 0, 823582
AgentMeter [baseline] (11.714 ms) : 0, 11714
AgentMeter [candidate] (11.603 ms) : 0, 11603
GlobalTracer [baseline] (243.481 ms) : 0, 243481
GlobalTracer [candidate] (241.529 ms) : 0, 241529
IAST [baseline] (30.525 ms) : 0, 30525
IAST [candidate] (28.726 ms) : 0, 28726
AppSec [baseline] (29.163 ms) : 0, 29163
AppSec [candidate] (29.01 ms) : 0, 29010
Debugger [baseline] (64.324 ms) : 0, 64324
Debugger [candidate] (66.037 ms) : 0, 66037
Remote Config [baseline] (536.588 µs) : 0, 537
Remote Config [candidate] (546.889 µs) : 0, 547
Telemetry [baseline] (7.765 ms) : 0, 7765
Telemetry [candidate] (7.818 ms) : 0, 7818
Flare Poller [baseline] (3.417 ms) : 0, 3417
Flare Poller [candidate] (3.49 ms) : 0, 3490
LoadParameters
See matching parameters
SummaryFound 2 performance improvements and 0 performance regressions! Performance is the same for 18 metrics, 16 unstable metrics.
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.62.0-SNAPSHOT~883b8d14d0, baseline=1.62.0-SNAPSHOT~4a446d1347
dateFormat X
axisFormat %s
section baseline
no_agent (1.258 ms) : 1246, 1270
. : milestone, 1258,
iast (3.218 ms) : 3174, 3262
. : milestone, 3218,
iast_FULL (5.941 ms) : 5880, 6001
. : milestone, 5941,
iast_GLOBAL (3.675 ms) : 3613, 3736
. : milestone, 3675,
profiling (2.234 ms) : 2213, 2255
. : milestone, 2234,
tracing (1.913 ms) : 1896, 1931
. : milestone, 1913,
section candidate
no_agent (1.256 ms) : 1245, 1268
. : milestone, 1256,
iast (3.241 ms) : 3198, 3284
. : milestone, 3241,
iast_FULL (5.858 ms) : 5799, 5917
. : milestone, 5858,
iast_GLOBAL (3.65 ms) : 3591, 3710
. : milestone, 3650,
profiling (2.307 ms) : 2285, 2330
. : milestone, 2307,
tracing (1.902 ms) : 1885, 1920
. : milestone, 1902,
Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.62.0-SNAPSHOT~883b8d14d0, baseline=1.62.0-SNAPSHOT~4a446d1347
dateFormat X
axisFormat %s
section baseline
no_agent (19.083 ms) : 18894, 19272
. : milestone, 19083,
appsec (18.545 ms) : 18357, 18734
. : milestone, 18545,
code_origins (17.876 ms) : 17697, 18056
. : milestone, 17876,
iast (17.905 ms) : 17731, 18078
. : milestone, 17905,
profiling (18.317 ms) : 18136, 18497
. : milestone, 18317,
tracing (17.585 ms) : 17414, 17756
. : milestone, 17585,
section candidate
no_agent (17.353 ms) : 17182, 17524
. : milestone, 17353,
appsec (18.551 ms) : 18370, 18732
. : milestone, 18551,
code_origins (17.928 ms) : 17749, 18107
. : milestone, 17928,
iast (17.712 ms) : 17539, 17884
. : milestone, 17712,
profiling (18.598 ms) : 18416, 18780
. : milestone, 18598,
tracing (17.563 ms) : 17390, 17737
. : milestone, 17563,
DacapoParameters
See matching parameters
SummaryFound 1 performance improvements and 0 performance regressions! Performance is the same for 11 metrics, 0 unstable metrics.
Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.62.0-SNAPSHOT~883b8d14d0, baseline=1.62.0-SNAPSHOT~4a446d1347
dateFormat X
axisFormat %s
section baseline
no_agent (14.966 s) : 14966000, 14966000
. : milestone, 14966000,
appsec (14.939 s) : 14939000, 14939000
. : milestone, 14939000,
iast (18.719 s) : 18719000, 18719000
. : milestone, 18719000,
iast_GLOBAL (17.862 s) : 17862000, 17862000
. : milestone, 17862000,
profiling (14.93 s) : 14930000, 14930000
. : milestone, 14930000,
tracing (14.683 s) : 14683000, 14683000
. : milestone, 14683000,
section candidate
no_agent (15.524 s) : 15524000, 15524000
. : milestone, 15524000,
appsec (14.914 s) : 14914000, 14914000
. : milestone, 14914000,
iast (18.575 s) : 18575000, 18575000
. : milestone, 18575000,
iast_GLOBAL (17.99 s) : 17990000, 17990000
. : milestone, 17990000,
profiling (15.012 s) : 15012000, 15012000
. : milestone, 15012000,
tracing (14.867 s) : 14867000, 14867000
. : milestone, 14867000,
Execution time for tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.62.0-SNAPSHOT~883b8d14d0, baseline=1.62.0-SNAPSHOT~4a446d1347
dateFormat X
axisFormat %s
section baseline
no_agent (1.494 ms) : 1482, 1505
. : milestone, 1494,
appsec (2.54 ms) : 2485, 2595
. : milestone, 2540,
iast (2.276 ms) : 2207, 2346
. : milestone, 2276,
iast_GLOBAL (2.303 ms) : 2233, 2373
. : milestone, 2303,
profiling (2.488 ms) : 2335, 2640
. : milestone, 2488,
tracing (2.087 ms) : 2033, 2141
. : milestone, 2087,
section candidate
no_agent (1.487 ms) : 1475, 1498
. : milestone, 1487,
appsec (2.526 ms) : 2471, 2580
. : milestone, 2526,
iast (2.274 ms) : 2204, 2344
. : milestone, 2274,
iast_GLOBAL (2.324 ms) : 2253, 2394
. : milestone, 2324,
profiling (2.094 ms) : 2039, 2148
. : milestone, 2094,
tracing (2.085 ms) : 2032, 2139
. : milestone, 2085,
|
evanchooly
left a comment
There was a problem hiding this comment.
i would echo the bot's comment about using Locale.ROOT but otherwise lgtm
b37342c to
883b8d1
Compare
|
/merge |
|
View all feedbacks in Devflow UI.
The expected merge time in
|
What Does This Do
Add support for case-insensitive path matching for line probes. When a
probe path contains different casing (e.g., Controllers/DebuggerController.java vs actual
controllers/DebuggerController.java), we should match them case-insensitively.
this allows to support case-insensitive filesystem (Windows, MacOs)
Motivation
Additional Notes
Did some cleanup in DebuggerTransformer class for unused field and methods
Contributor Checklist
type:and (comp:orinst:) labels in addition to any other useful labelsclose,fix, or any linking keywords when referencing an issueUse
solvesinstead, and assign the PR milestone to the issueJira ticket: DEBUG-5105
Note: Once your PR is ready to merge, add it to the merge queue by commenting
/merge./merge -ccancels the queue request./merge -f --reason "reason"skips all merge queue checks; please use this judiciously, as some checks do not run at the PR-level. For more information, see this doc.